package com.snowfield.lb47.lbconfig.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 代理证书对象 config_frontproxy_crt
 *
 * @author snowfield
 * @date 2024-04-09
 */
public class FrontProxyCrt extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 标识ID
     */
    private Long id;

    /**
     * 证书名称
     */
    @Excel(name = "证书名称")
    private String crtName;

    /**
     * 证书路径
     */
    private String crtPath;

    /**
     * 生成方式（upload上传 create生成）
     */
    @Excel(name = "生成方式", readConverterExp = "u=pload上传,c=reate生成")
    private String createType;

    /**
     * 密钥位数
     */
    private Long sslKeyByte;

    /**
     * 国家
     */
    private String sslCountry;

    /**
     * 省份
     */
    private String sslProvince;

    /**
     * 城市
     */
    private String sslCity;

    /**
     * 组织
     */
    private String sslOrganization;

    /**
     * 组织单元
     */
    private String sslUnit;

    /**
     * 通用名称
     */
    private String sslCommon;

    /**
     * 邮箱
     */
    private String sslEmail;

    /**
     * 密码
     */
    private String sslPassword;

    /**
     * 公司名称
     */
    private String sslCompany;

    /**
     * 使用者可选名称: IP Address
     */
    private String altIpAddress1;

    /**
     * 状态（1正常 0停用）
     */
    private String status;

    //上传方式时证书内容
    @Transient
    private String pemContent;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCrtName(String crtName) {
        this.crtName = crtName;
    }

    public String getCrtName() {
        return crtName;
    }

    public void setCrtPath(String crtPath) {
        this.crtPath = crtPath;
    }

    public String getCrtPath() {
        return crtPath;
    }

    public void setCreateType(String createType) {
        this.createType = createType;
    }

    public String getCreateType() {
        return createType;
    }

    public void setSslKeyByte(Long sslKeyByte) {
        this.sslKeyByte = sslKeyByte;
    }

    public Long getSslKeyByte() {
        return sslKeyByte;
    }

    public void setSslCountry(String sslCountry) {
        this.sslCountry = sslCountry;
    }

    public String getSslCountry() {
        return sslCountry;
    }

    public void setSslProvince(String sslProvince) {
        this.sslProvince = sslProvince;
    }

    public String getSslProvince() {
        return sslProvince;
    }

    public void setSslCity(String sslCity) {
        this.sslCity = sslCity;
    }

    public String getSslCity() {
        return sslCity;
    }

    public void setSslOrganization(String sslOrganization) {
        this.sslOrganization = sslOrganization;
    }

    public String getSslOrganization() {
        return sslOrganization;
    }

    public void setSslUnit(String sslUnit) {
        this.sslUnit = sslUnit;
    }

    public String getSslUnit() {
        return sslUnit;
    }

    public void setSslCommon(String sslCommon) {
        this.sslCommon = sslCommon;
    }

    public String getSslCommon() {
        return sslCommon;
    }

    public void setSslEmail(String sslEmail) {
        this.sslEmail = sslEmail;
    }

    public String getSslEmail() {
        return sslEmail;
    }

    public void setSslPassword(String sslPassword) {
        this.sslPassword = sslPassword;
    }

    public String getSslPassword() {
        return sslPassword;
    }

    public void setSslCompany(String sslCompany) {
        this.sslCompany = sslCompany;
    }

    public String getSslCompany() {
        return sslCompany;
    }

    public String getAltIpAddress1() {
        return altIpAddress1;
    }

    public void setAltIpAddress1(String altIpAddress1) {
        this.altIpAddress1 = altIpAddress1;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public String getPemContent() {
        return pemContent;
    }

    public void setPemContent(String pemContent) {
        this.pemContent = pemContent;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("crtName", getCrtName())
                .append("crtPath", getCrtPath())
                .append("createType", getCreateType())
                .append("sslKeyByte", getSslKeyByte())
                .append("sslCountry", getSslCountry())
                .append("sslProvince", getSslProvince())
                .append("sslCity", getSslCity())
                .append("sslOrganization", getSslOrganization())
                .append("sslUnit", getSslUnit())
                .append("sslCommon", getSslCommon())
                .append("sslEmail", getSslEmail())
                .append("sslPassword", getSslPassword())
                .append("sslCompany", getSslCompany())
                .append("altIpAddress1", getAltIpAddress1())
                .append("status", getStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
